S3C44B0X微處理器在汽車防抱死控制系統中的應用
2007/10/29 14:59:00
引言:基于ARM微處理器和µC/OS-Ⅱ開發的嵌入式防抱死制動系統具有實時性好,可靠性高等特點,能在很大程度上提高控制器的可靠性和車輛的制動性能。 一 S3C44B0X微處理器和µC/OS-Ⅱ操作系統的結合是我們開發的基礎。 1、微處理器:一個成功的汽車電子控制單元,取決于設計時對所用微處理器的選擇。現代發動機和自動變速箱的電子控制單元一般需要采用32位的CPU來處理實時算法。而在汽車的底盤、安全和車身系統等領域,就可以根據控制的復雜程度使采用16位或者32位兩種微處理器。但是,底盤控制器在其大部分工作時間內,要對傳感器進行掃描,而CPU又必須時時刻刻能夠提供相應的處理能力,能在僅僅幾個毫秒的時間內完成整個判定程序,并起動應用程序。三星公司的S3C44B0X是一種主頻達66MHz的高性能微處理器,具有豐富的接口資源,已經在眾多行業得到了高性價比的驗證。據悉,在上海浦東張江已經有某家汽車產品開發公司在使用該微處理器開發汽車相關控制方面的產品。 2、編程語言:在過去,軟件工程師們開發基于8位處理器和16位處理器汽車電控單元時,大多采用匯編語言來編制程序。而當今隨著開發周期的縮短和軟件復雜性的提高,使得設計師們不得不采用PLM,C語言等高級語言,總的看來,汽車嵌入式系統的開發中,軟件的趨勢是向C語言發展。將µC/OS-Ⅱ移植到ARM7TDMI微處理器上所采用的是可產生可重入代碼的C編譯器,而且因為操作系統本身其代碼大部分就是用C語言編寫的 3、操作系統:控制器設計師必須分析控制性能對操作系統的要求。隨著嵌入式系統復雜程度的增加,汽車工業將采用實時操作系統RTOS和更復雜的軟件開發工具。高度綜合的娛樂、話音識別和路況引導系統,早已用實時軟件處理來自用戶和通信信息源的異步輸入。但是,汽車嵌套系統的設計師們還是抱怨,對于容量大而存儲器少的車輛控制系統,商用的RTOS還是太大,功能也過多。為了解決這些抱怨,歐洲汽車制造商們規定OSEK標準為汽車嵌套控制器開發的公共平臺的應用編程接口。(OSEK的名稱來源于德國的一種叫法:“車內電子設備的開放系統和接口 ”)。一種免費的源代碼公開的實時操作系統µC/OS-Ⅱ于上世紀90年代初應運而生,國外界內專業人士已經在非常廣泛的領域使用了該操作系統,適用于該操作系統的芯片幾乎包含了全球各主要芯片生產商,如Intel,AMD等,國內同行較多在Motorola芯片上成功使用了該操作系統,越來越多的用戶已經在Intel的16位微處理器比如8XC196KC上成功的實現了µC/OS-Ⅱ的運行。 基于此,我們選擇三星公司的這種微處理器和已經得到廣泛應用的源代碼公開的操作系統來開發我們的電控單元。 二 防抱死制動系統的控制原理 一般的,防抱死制動系統就是在每一個車輪上車輪轉速傳感器,用以測量轉速。這些傳感器將車輪轉速轉變為電信號輸入電控單元,而在每一個車輪附近都安裝有開關電磁閥,電控單元根據轉速信號計算車輪和車輛本身的運動狀態,當發現車輪制動趨于抱死時,就向這些或常開或常閉型的電磁閥發出電信號,以執行開或關的動作,使得一部分制動液從制動輪缸中流出,從而減小輪缸的制動壓力,即減壓;在制動壓力減小到一定程度時,車輪抱死趨勢消除,就保持制動輪缸的制動壓力,即保壓;當車輪在慣性作用下又加速到一定程度時,在增大制動輪缸的制動壓力,即增壓;當車輪又被制動到趨于抱死的狀態時,再執行減壓過程,如此往復循環,確保車輪在制動過程中得到最大的路面附著力,最短的制動距離,避免了抱死現象的發生。下面是某車型防抱死制動系統結構分布圖(圖一): 
三 硬件設計 ABS 的硬件原理圖見圖二 
1、MCU:該控制器所采用的微處理器為Samsung公司的S3C44B0X,采用0.25µmCMOS工藝,其CPU采用ARM公司的主頻為66MHz并帶8KB緩存的ARM7TDMI RISC結構,支持片上ICE中斷調試,并具有32位硬件乘法器。它還有兩個DMA通道,5個PWM定時器及1個內部定時器,8個外部中斷源,8個10位的ADC,71個通用I/O口;另外,在能耗控制方面的性能顯得尤為突出,它總共有四種能量控制模式,包括正常、低、休眠和停止。片上ICE中斷調試支持JTAG調試方式,是該微處理器最顯著的特點,這也是與以往單片機開發方式最明顯的區別之一。它的接口資源也及其豐富,有IIS總線接口,I2C總線接口,同步串行I/O口。 2、ROM電路:采用AM29F010-120/BUA(32)型DIP-32封裝的Flash,既可以滿足ABS數據容量的需要,又可以為后續設計擴容。見圖三: 
圖三 擴展ROM電路 3、UART電路,S3C44B0X有2個帶DMA和中斷的UART,即有兩路TXD1、RXD1,TXD0、RXD0;支持5位、6位、7位、8位串行數據傳送與接收及傳送與接收時的雙向握手;每一個通道有2個內部32位FIFO。 4、電磁閥(12V)驅動電路,電機(12V)驅動電路 用最新AG4的ECU電磁閥專用驅動芯片。 四 軟件設計:軟件設計是整個ABS電控單元設計的核心。因為采用該32位的微處理器,在很大程度上是為了簡化硬件的結構,并可以利用其豐富的I/O和接口,在現有基礎上實現底盤集成控制系統的研制。為了充分協調各項控制功能并提高CPU的利用率,軟件采用模塊化設計,將每一模塊當作一獨立的任務來管理。 1、 控制邏輯的進一步分析:ABS的主要任務是控制邏輯算法以保持高制動力,同時通過調整產生符合要求的側傾力以保持車輛的操縱穩定性。這些信息要靠制動及回轉時對附著系數-滑移率(µ-s)曲線和車輛行駛狀態的假定來獲得。控制規則是要對車輪轉速進行調節而不是制動壓力,它解決了車輪制動壓力到底要減少多少這個問題。如果車輪減速太快,那么就意味著制動壓力的減少;而又因為制動壓力的減少,車輪又會加速,那么相應的制動壓力又會增長。壓力的增加要逐步進行,以減少車輪運轉狀態中瞬時現象的影響,而如果減速度很大的話,就可以快速減少制動壓力。為了更好的進行控制邏輯的研究和改進,要建立各項模型,并對其邏輯進行純軟件仿真。 
2、 操作系統的移植: 1) 程序下載至Flash的過程:要在ARM7的Boot模式下把程序裝入AM29F010,此時該Flash的地址為0x70000000,CS0是其片選信號。ARM內部有個128B的ROM,存放初始化ARM內部COM口的程序,還有一個2K的SRAM。采用Boot模式啟動ARM后,初始化程序即對COM口進行初始化,并從該口接受2K程序到內部SRAM,程序接受完畢即自動跳轉到這段2K程序執行,用這段程序再次初始化內部COM口,然后就可以通過該COM口接受µC/OS-Ⅱ到DRAM了,完成了這些過程,就可以把程序由DRAM裝入AM29F010了。裝入完畢后,要將模式切換到運行一般程序用的Normal模式,并重新啟動系統,改變模式后的Flash地址變為0x00000000,重新啟動后的系統會自動跳到該地址開始運行µC/OS-Ⅱ。 2) 用typedef聲明10個數據類型(OS_CPU.H),并用#define聲明三個宏: #define OS_ENTER_CRITICAL() ARMDisableInt() #define OS_EXIT_CRITICAL() ARMEnableInt() #define OS_STK_GROUTH 1 以C語言編寫6個與µC/OS-Ⅱ相關的函數。包括OSTaskStkInit(),OSTaskCreateHook(),OSTaskSwHook(),OSTaskStatHook(),OSTimeTickHook(); 3) 用匯編語言編寫4個和S3C44B0X相關的函數。包括OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR(); 五 總結 本文從實時性的角度描述了采用S3C44B0X微處理器和µC/OS-Ⅱ操作系統開發防抱死控制器的基本過程。主要分析了防抱死控制原理和操作系統的移植,并給出了部分硬件電路原理圖。經過硬件在環仿真初步驗證了軟硬件的可行性,實踐證明,采用實時操作系統以及基于ARM7TDMI核的32位微處理器,大大的提高了系統的實時性能,并使得系統的擴展有了更大的可行性和更優的簡易性。真正的嵌入式系統,將在汽車電子控制單元的開發中得到更為廣泛的應用。 參考文獻: 1. 嵌入式系統構件 (美)Jean J.Labrosse 著 袁勤勇 黃紹金 唐菁 等譯 機械工業出版社 2002年2月第一版 2. 嵌入式系統編程源代碼解析 (美)Dreamtech 軟件研發組 著 王勇 蓋江南 閻文麗 等譯 電子工業出版社 2002年9月第一版 3. µC/OS-Ⅱ——源碼公開的實時嵌入式操作系統 Jean J.Labrosse 著 邵貝貝 譯 中國電力出版社 2001年8月第一版 4. 2001年嵌入式系統及單片機國際學術交流會論文集 沈緒榜 何立民 主編 北京航空航天大學出版社 2001年10月第一版 5. S3C44B0X RISC MICROPROCESSOR 用戶手冊 英文版 6. 嵌入式系統設計與實例開發——基于ARM微處理器與µC/OS-Ⅱ實時操作系統 王田苗 主編 清華大學出版社2002年9月第一版 7. 汽車理論 余志生 主編 機械工業出版社 8. 其它網絡資料





提交
查看更多評論
其他資訊
超越傳統直覺,MATLAB/Simulink助力重型機械的智能化轉型
新大陸自動識別精彩亮相2024華南國際工業博覽會
派拓網絡被Forrester評為XDR領域領導者
智能工控,存儲強基 | 海康威視帶來精彩主題演講
展會|Lubeworks路博流體供料系統精彩亮相AMTS展會